package com.qf.mybatisplus.mapper;

import com.qf.mybatisplus.aspect.Decrypt;
import com.qf.mybatisplus.aspect.Encrypt;
import com.qf.mybatisplus.aspect.EncryptParam;
import com.qf.mybatisplus.bean.entity.Permission;
import com.qf.mybatisplus.bean.entity.Role;
import com.qf.mybatisplus.bean.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qf.mybatisplus.bean.entity.VHdcallspecail;
import com.qf.mybatisplus.bean.po.UserPo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2021-05-17
 */
@Repository
public interface UserMapper extends BaseMapper<User> {

    User getOne(String name);


    // 需要再此加上@EncryptParam注解以实现知道哪个参数需要加密
//    @Encrypt // 加密注解
//    int insertOneUser(@EncryptParam User user);

//    @Encrypt // 加密注解
    int insertOneUser(User user);
    @Decrypt // 解密注解 拦截返回结果并解密
    User getOneUser(Integer id);

    int batchInsert(List<User> userList);


    int insertHt(VHdcallspecail vHdcallspecail);

    List<Role>  getRoleList(Integer userId);

    List<Permission> getPermissionList(Integer userId);

    @Encrypt // 加密注解
    int insertUser(@EncryptParam UserPo userPo);

    List<User> getUserListInfo();

}
